package Arrays.YiChang.itheima.lianxi;

import Arrays.YiChang.itheima.Student;

import java.util.Scanner;

/*
需求:编写一个学生类
1、属性为:姓名，年龄，数学成绩，语文成绩，英语成绩1.成绩不能为为负数不能大于100分
2年龄应控制在0~120之间
3创建3个学生对象,并打印学生信息(学生的信息，都来
自于键盘录入)
4、如果出现异常，给出提示，并继续输入
5.请结合自定义
 */
public class TestDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Students[] students = new Students[3];

        for (int i = 0; i < students.length; i++) {
            System.out.println("请输入第 " + (i + 1) + " 个学生的信息：");
            // 清除Scanner中的未匹配输入
            if (!sc.nextLine().isEmpty()) {
                sc.nextLine(); // 清除未匹配的输入
            }
            System.out.println("请输入学生的姓名:");
            String name = sc.nextLine();

            System.out.println("请输入学生的年龄：");
            int age = 0;
            while (true) {
                try {
                    age = Integer.parseInt(sc.nextLine());
                    students[i] = new Students(name,age,0,0,0);
                    break;
                }catch (NumberFormatException e) {
                    System.out.println("年龄输入有误，请重新输入整数年龄");
                }catch (StudentScoreException e) {
                    String result = e.getMessage();
                    System.out.println(result);
                }
            }

            System.out.println("请输入学生的数学成绩");
            while (true) {
                try {
                    double math = sc.nextDouble();
                    students[i].setMath(math);
                    break;
                } catch (StudentScoreException e) {
                    String result = e.getMessage();
                    System.out.println(result);
                }
            }


            System.out.println("请输入学生的语文成绩");
            while (true) {
                try {
                    double chinese = sc.nextDouble();
                    students[i].setChinese(chinese);
                    break;
                } catch (StudentScoreException e) {
                    String result = e.getMessage();
                    System.out.println(result);
                }
            }

            System.out.println("请输入学生的英语成绩");
            while (true) {
                try {
                    double english = sc.nextDouble();
                    students[i].setEngilsh(english);
                    break;
                } catch (StudentScoreException e) {
                    String result = e.getMessage();
                    System.out.println(result);
                }
            }

        }
        System.out.println(students[0]);
        System.out.println(students[1]);
        System.out.println(students[2]);


    }

//    private static void inputStudentInfo(Students stu1){
////        Students stu1 = new Students();
//        Scanner sc = new Scanner(System.in);
//        System.out.println("请输入学生的姓名");
//        String name = sc.nextLine();
//        stu1.setName(name);
//
//        System.out.println("请输入学生的年龄：");
//        int age = 0;
//        while (true) {
//            try {
//                age = Integer.parseInt(sc.nextLine());
//                stu1.setAge(age);
//                break;
//            }catch (NumberFormatException e) {
//                System.out.println("年龄输入有误，请重新输入整数年龄");
//            }catch (StudentScoreException e) {
//                String result = e.getMessage();
//                System.out.println(result);
//            }
//        }
//
//        System.out.println("请输入学生的数学成绩");
//        while (true) {
//            try {
//                double math = sc.nextDouble();
//                stu1.setMath(math);
//                break;
//            } catch (StudentScoreException e) {
//                String result = e.getMessage();
//                System.out.println(result);
//            }
//        }
//
//
//        System.out.println("请输入学生的语文成绩");
//        while (true) {
//            try {
//                double chinese = sc.nextDouble();
//                stu1.setChinese(chinese);
//                break;
//            } catch (StudentScoreException e) {
//                String result = e.getMessage();
//                System.out.println(result);
//            }
//        }
//
//        System.out.println("请输入学生的英语成绩");
//        while (true) {
//            try {
//                double english = sc.nextDouble();
//                stu1.setEngilsh(english);
//                break;
//            } catch (StudentScoreException e) {
//                String result = e.getMessage();
//                System.out.println(result);
//            }
//        }
//
//        System.out.println(stu1);
//
//    }

}
